// 并发
// concurrent：程序不同部分之间独立的执行
// parallel：程序的不用部分同时运行
// 进程：在大部分os里，代码运行在进程（process）中，os同时管理多个进程
// 线程：在你的程序中，各独立部分可以同时进行，运行这些独立部分的就是线程（thread）
// 多线程运行
// 多线程问题：1、竞争状态（线程以不一致的顺序访问数据或资源）2、死锁（两个线程彼此等待对方的使用完所持有的资源线程无法继续）
// 多线程通信
// 多线程通过共享内存通信：通过一个互斥锁（mutex）来锁定数据只能一个线程内访问
// 并发概念send（允许线程间转移所有权除了RC<T>没有实现其他都实现了）和sync（可以安全的被多个线程引用RC<T>和RefCell<T>和Cell<T>没有实现）两个trait
// 上述的send和sync两个trait是不安全的

fn main() {
    println!("hello world");
}